Methods and apparatuses for inputting information

ABSTRACT

Methods and apparatuses for presenting a data input interface. In one exemplary embodiment of a method described herein, a text input field is displayed and, through a first input to the text input field itself, a selection between at least a first operation and a second operation can be made. A first input is received to determine a selected operation which is one of the first operation or the second operation, and a text input is received and the selected operation is performed. Other methods are described, and apparatuses are also described.

This application is a continuation of co-pending U.S. patent applicationSer. No. 11/040,260, filed on Jan. 19, 2005.

BACKGROUND OF THE INVENTION

Modern data processing systems, such as general purpose computersystems, typically allow a user to enter text within a program, such asa web browser or other types of programs. The text entry often occurswithin a text input field which is a pre-determined area of a graphicaluser interface. A text input field typically can accept no more than apre-determined number of text characters which are entered by a user. Ina typical graphical user interface, such as a modern web browser, theuser will enter text by positioning a typing cursor within the textinput field. This may be performed by positioning a cursor, through acursor control device such as a mouse, into the text input field. Oncethe typing cursor has been placed into the text input or entry field,then the user may begin to enter text (e.g. by typing or speakingthrough speech recognition) into the text input field. A user can thencause the data processing system to perform an operation using the text,such as a search through a database or other source of information usingthe inputted text stream as a search query.

Certain graphical user interfaces allow for different operations to beperformed with the inputted text. FIG. 1A shows an example of such auser interface 10 which includes a text entry field 11 into which a usermay enter text. A pull down menu 12 includes a pull down button 14 and aplurality of options 15, 16, and 17 which the user may select from thepull down menu 12. The pull down menu 12 allows a user to search on alocal storage device if the option 15 is selected or to search on aremote server if the option 16 is selected or to search in a Folder A ifthe option 17 is selected. Thus, through the use of a pull down menu thesource of data, which may be searched based upon the inputted textstring within the text field 11, will be changed by changing the optionwhich is selected through the pull down menu 12. An example of thisgraphical user interface can be found in the upper right hand corner ofa Finder window of the Panther operating system (Macintosh OS 10.3) fromApple Computer Inc. of Cupertino, Calif.

FIG. 1B shows another example in the prior art of a user interface whichallows a user to input text. In the case of the user interface 20 shownin FIG. 1B, separate text entry fields 21 and 22 are provided to allowfor separate operations using the entered text. Thus, rather than usinga single text entry field as in the case of the interface of FIG. 1A,two separate text entry fields are provided to a user to allow for twodifferent uses of the entered text. For example, the user may enter textinto field 21 to cause a local search of local storage or may enter textinto field 22 to cause a search of a data source in a remote server. Theadvantage of the interface 20 the interface 20 of FIG. 1B is that thedisplay of indicators 21A and 22A will tell a user the purpose or use ofeach corresponding text entry field whereas a user in the case ofinterface 10 must activate the pull down menu to determine the functionor operation which will be performed using the entered text in textentry field 11. However, the interface 20 of FIG. 1B occupies moredisplay space than the interface 10, particularly since the interface 10normally does not include the options in the pull down menu when thepull down menu is not activated (rather only the pull down button 14 isdisplayed when the pull down menu is not activated).

SUMMARY OF THE DESCRIPTION

Various methods, apparatuses, systems and software media are describedherein in connection with a user interface.

In one exemplary embodiment of a method described herein, the methodincludes displaying a text input field which, through a first input tothe text input field itself, can select between at least a firstoperation and a second operation, and the method also includes receivingthe first input to determine the selected operation which is one of thefirst operation or the second operation, and receiving a text input andperforming the selected operation using the text inputted into the textinput field. In one example of this embodiment, the first operation is atext search through a first source of data and the second operation is atext search through a second source of information. The text input fieldmay include a separator within the field which indicates a first portionof the field and a second portion of the field which is separated by theseparator. The first input may include the placement of a cursor withineither portion to select between either the first operation or thesecond operation depending upon which portion is selected.

In certain embodiments described herein, the processing of inputted datainto a text input field is determined by a direct, graphical userinterface interaction within the text input field itself (e.g. the sameportion of the field which is used to enter text and which is capable ofreceiving text) to change the operations performed using text which hasbeen entered into the text input field. Other embodiments are alsodescribed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A shows an example in the prior art of a user interface whichincludes a text entry field.

FIG. 1B shows another example in the prior art of a user interface whichincludes at least one text entry field.

FIG. 2 shows an example of a data processing system, which may be ageneral purpose computer system and which may operate in any one of thevarious methods described herein or may use the software media describedherein.

FIG. 3 shows a flow chart which shows a general exemplary embodiment ofthe present invention.

FIG. 4A shows an example of a user interface of one exemplary embodimentof the invention.

FIG. 4B illustrates an animation which may occur in a text input fieldin certain embodiments of the present invention.

FIG. 4C shows the text entry field of FIG. 4B after the user has entereda text string into the field.

FIG. 5 is a flow chart which shows a specific exemplary embodiment ofthe present invention.

FIGS. 6A, 6B, and 6C show text entry fields which include the ability todisplay help information to a user.

FIG. 7 shows an alternative embodiment of a text entry field whichincludes a horizontal separator.

FIG. 8 shows an alternative embodiment of a text entry field which usesdifferent colors for different portions of the text entry field.

FIG. 9A shows an embodiment of a text entry field with border portions.

FIG. 9B shows an alternative embodiment of a text entry field withborder portions.

DETAILED DESCRIPTION

The subject invention will be described with reference to numerousdetails set forth below, and the accompanying drawings will illustratethe invention. The following description and drawings are illustrativeof the invention and are not to be construed as limiting the invention.Numerous specific details are described to provide a thoroughunderstanding of the present invention. However, in certain instances,well known or conventional details are not described in order to notunnecessarily obscure the present invention in detail.

The present description includes material protected by copyrights, suchas illustrations of graphical user interface images. The owners of thecopyrights, including the assignee of the present invention, herebyreserve their rights, including copyright, in these materials. Thecopyright owner has no objection to the facsimile reproduction by anyoneof the patent document or the patent disclosure, as it appears in thePatent and Trademark Office file or records, but otherwise reserves allcopyrights whatsoever. Copyright Apple Computer, Inc.

FIG. 2 shows one example of a typical computer system which may be usedwith the present invention. Note that while FIG. 2 illustrates variouscomponents of a computer system, it is not intended to represent anyparticular architecture or manner of interconnecting the components assuch details are not germane to the present invention. It will also beappreciated that network computers and other data processing systems(e.g. personal digital assistants, cellular telephones, telephones,handheld computers, etc.) which have fewer components or perhaps morecomponents may also be used with the present invention. The computersystem of FIG. 2 may, for example, be a Macintosh computer from AppleComputer, Inc.

As shown in FIG. 2, the computer system 101, which is a form of a dataprocessing system, includes a bus 102 which is coupled to amicroprocessor(s) 103 and a ROM (Read Only Memory) 107 and volatile RAM105 and a non-volatile memory 106. The microprocessor 103 may be a G3 orG4 microprocessor from Motorola, Inc. or one or more G5 microprocessorsfrom IBM. The bus 102 interconnects these various components togetherand also interconnects these components 103, 107, 105, and 106 to adisplay controller and display device 104 and to peripheral devices suchas input/output (I/O) devices which may be mice, keyboards, modems,network interfaces, printers and other devices which are well known inthe art. Typically, the input/output devices 109 are coupled to thesystem through input/output controllers 108. The volatile RAM (RandomAccess Memory) 105 is typically implemented as dynamic RAM (DRAM) whichrequires power continually in order to refresh or maintain the data inthe memory. The mass storage 106 is typically a magnetic hard drive or amagnetic optical drive or an optical drive or a DVD RAM or other typesof memory systems which maintain data (e.g. large amounts of data) evenafter power is removed from the system. Typically, the mass storage 106will also be a random access memory although this is not required. WhileWhile FIG. 2 shows that the mass storage 106 is a local device coupleddirectly to the rest of the components in the data processing system, itwill be appreciated that the present invention may utilize anon-volatile memory which is remote from the system, such as a networkstorage device which is coupled to the data processing system through anetwork interface such as a modem or Ethernet interface. The bus 102 mayinclude one or more buses connected to each other through variousbridges, controllers and/or adapters as is well known in the art. In oneembodiment the I/O controller 108 includes a USB (Universal Serial Bus)adapter for controlling USB peripherals and an IEEE 1394 controller forIEEE 1394 compliant peripherals.

It will be apparent from this description that aspects of the presentinvention may be embodied, at least in part, in software. That is, thetechniques may be carried out in a computer system or other dataprocessing system in response to its processor, such as amicroprocessor, executing sequences of instructions contained in amemory, which may be a machine readable medium such as ROM 107, RAM 105,mass storage 106 or a remote storage device or a combination of thesestorage devices. In various embodiments, hardwired circuitry may be usedin combination with, or as an alternative to, software instructions toimplement the present invention. Thus, the techniques are not limited toany specific combination of hardware circuitry and software nor to anyparticular source for the instructions executed by the data processingsystem. In addition, throughout this description, various functions andoperations are described as being performed by or caused by softwarecode to simplify software code to simplify description. However, thoseskilled in the art will recognize what is meant by such expressions isthat the functions result from execution of the code by a processor,such as the microprocessor 103.

FIG. 3 shows an example of a method in which a text input field may beused to search between two or more modes of operation or to providedifferent operations through an interaction with the text field itself.Operation 301 includes displaying a text input field which, through afirst input to the text input field itself, can select between a firstoperation and a second operation. This first input is typically directlyin a portion of the field which is the same portion (e.g. same x, yscreen or display space) which is capable of receiving text entry oralternatively within a border of the field, such as the example shown inFIG. 9. FIG. 4A shows an example of a graphical user interface in whichsuch a text input field is displayed. In particular, FIG. 4A shows awindow 401 which includes a text input field 403. A first input into thefirst portion 405 of the text input field 403 will cause the selectionof a first operation, and an alternative first input into the secondportion 407 of the text input field 403 will select the secondoperation. The data processing system receives in operation 203 thisfirst input which causes the selected operation to be determined basedupon the user's input. Then, the data processing system in operation 305receives a text input and then performs the selected operation after theuser has inputted the text and has indicated that the operation is to beperformed (e.g. the user has typed some text and then pressed a returnor enter key on a keyboard). return or enter key on a keyboard). Themethod of FIG. 3 will now be further explained relative to FIGS. 4A,FIG. 4B, and 4C.

While FIG. 4A shows the text input field 403 within the window 401, itmay be in a different window or in a window “floating” on a desk top ofa graphical user interface or associated with other objects or in afield without a window. The text input field 403 includes two portions405 and 407 which are separated by a separator 413 as shown in FIG. 4A.Indicators 409 and 411 indicate the particular functions or operationsperformed as a result of the selection of an operation by a user's inputdirectly into one or the other portions of text input field 403. Theindicators may be text, such as indicators 409 and 411 as shown in FIG.4A, or they may be icons (e.g. graphic depictions designed to conveyinformation which identifies their purpose) or they may be a combinationof text and icons. While the text input field 403 is shown as having twoportions, it will be appreciated that the text input field may have morethan two portions (e.g. three or five portions) which may be used toselect from more than two different operations in alternativeembodiments.

In a typical implementation of text input field 403, the user may selecta portion by positioning a cursor displayed on a display device, such asthe cursor 410 shown within the window 401 in FIG. 4A. The cursor 410may be controlled by any number of different cursor control devices,such as a mouse, a joystick, a joystick, a trackball, a track pad (touchpad) or even voice control (e.g. the user speaks to the system) throughvoice recognition systems. A cursor may move the mouse in two dimensionson the graphical user interface which is displayed on a display device,such as a liquid crystal display device. The user may select one portionby positioning the cursor within that portion of the text input field(or by other methods such as speech recognition). An example in which atleast a portion of the cursor is positioned within the left portion of atext input field is shown in FIG. 6B, and an example in which at least aportion of the cursor is positioned within the right portion of a textinput field is shown in FIG. 6C. After positioning the cursor within thedesired portion of the text input field, such as portions 405 or 407shown in FIG. 4A, the user can then cause a signal to be generated whichindicates the selection of that portion. This signal may be caused bypressing and releasing a mouse's button or by pressing a key on akeyboard or by providing some other input such as a spoken word orphrase which through a speech recognition system is recognized by thecomputer system.

It will be appreciated that the foregoing method is one example of adirect interaction through a graphical user interface with the textinput field itself in order to select the function or operation or modeof operation which is achieved by the use of a text input field. In thisparticular example, the user has positioned the cursor directly withinthe same field into which text is entered and caused the functionalityof the text input field to be modified according to the selection.Alternative selection techniques may also be used. For example, the usermay position the cursor within one of the portions of a text input fieldwhich are also used for text entry and then use a tab key or other keyon a keyboard to select different portions or the user may cause thecursor to be positioned within a portion of the text input field for aperiod of time which is greater than a certain time, and this causes thesystem to recognize that the user has selected a portion without anyother action such as a pressing of a mouse's button or a key.

FIG. 4B shows a portion of the graphical interface which includes thetext input field 403. This figure illustrates a moment in time in whichan animation occurs through the text input field as a separator 413moves from the center of the field to the far right of the field, andultimately disappears from the field. This animation results from theuser having selected the portion 405 which then becomes enlarged asshown in FIG. 4B (relative to what is shown in FIG. 4A). Also,consistent with this animation, the indicator 409 remains displayed overthe text input field 403 while the indicator 411 is removed from thedisplay. Both the animation of the moving separator 413 and theremaining indicator 409 both reveal to the user that the user hasselected a particular operation which can now be performed by enteringtext into the text input field 403. The animation results in theshrinking of the right portion (portion 407) shown as a shrunken portion407A as the separator 413 moves separator 413 moves in the direction ofthe arrow 415. Alternative animations may also be used such as a colorbar which moves from one side to the other side or scrolling text, etc.

FIG. 4C shows the text input field 403 after the user has entered text417 (“CCD imaging”) into the text input field which is now completelyoccupied by the portion 405 as shown in FIG. 4C. At this point, the usercan cause the data processing system to perform a search or perform someother operation relative to the inputted text by signaling to the dataprocessing system to do so. In one exemplary embodiment, the user may,after having entered the text, press a key on a keyboard, such as theenter key or the return key or may speak a phrase or word which isrecognized by a speech recognition system operating on the dataprocessing system. The signal, in turn, causes the data processingsystem to perform the particular operation using the specified text. Inthe case of the example shown in FIGS. 4A-4C, the specified operation isa search in a data source A rather than a search in data source B. Itwill be appreciated that alternatively the user may have selectedportion 407 by positioning a cursor within portion 407 and by pressing abutton or otherwise signaling the selection of that portion and thencausing a search to be performed in data source B after having enteredtext into the text input field.

FIG. 5 shows a flowchart of another exemplary method of the presentinvention. In operation 501, a text input field having at least twoportions is displayed on a display device of a data processing system.Each portion of the text input field is associated with a differentoperation, such as a first operation which performs a search, using theinputted text, in a first data source and a second operation whichperforms a search in a second data source using the inputted text. Inoperation 503, the data processing system receives a selection orindication from a user of a portion of the text input field itselfrather than adjacent areas into which text cannot be entered. Thisselection may occur as described above and may involve selecting aportion of the field such as the left or right side of the field. Thenin operation 505 the data processing system determines the selectedoperation to be performed based upon the selected portion. Then inoperation 507, the text input field is displayed without a separatorwhich is used in at least certain embodiments of the present invention.The separator may scroll in an animated fashion through the field in onedirection and out of the field to indicate to the user that a selectionhas occurred. Then in operation 509, the data processing system receivestext inputted into the field. This may occur through the actions of auser typing on a keyboard or speaking to a speech recognition systemwhich is operating on the data processing system. Then in operation 511,the system performs a selected operation using the text which has beeninputted. For example, a system may perform a search through a firstdata source using the text where the first source was specified bydetermining the selected operation. After the system has performed theoperation the results of the operation may be displayed in a windowassociated with the text input field, such as the window 401 whichincludes a input field, such as the window 401 which includes a displayarea 402 which may be used to display the results of the operation,which may be a search.

FIGS. 6A, 6B and 6C show an exemplary user interface which providesfeedback to the user about the operations which may be performed withina particular text input field. The text input field 601 includes twoportions 603 and 602 which are separated by the separator 604. FIG. 6Ashows a portion of a graphical user interface which also includes acursor 605 which is shown positioned below the text input field 601. Theuser may cause the cursor 605 to be moved (e.g. by moving a mouse whichcontrols the position of the cursor 605) so that the cursor 605 is nowpositioned at least partially within the portion 603 as shown in FIG.6B. The data processing system at this time may display an indicator 607when the cursor 605 has been positioned at least partially within theportion 603. An example of the indicator 607 is shown in FIG. 6B. Adisplay of the indicator 607 may occur immediately upon placing at leasta portion of the cursor 605 within the portion 603 or may occur onlyafter the cursor 605 or a portion thereof has been positioned within theportion 603 for at least a pre-determined period of time (e.g. for morethan two seconds). In this fashion, a user may move the cursor throughone or more portions of the text field without having an indicatorappear (which may seem to clutter the display). FIG. 6C shows how, inthis graphical user interface, positioning at least a portion of thecursor 605 within the portion 602 causes the display of an alternativeindicator 609 which indicates the function or operation which isperformed after text is entered into which is performed after text isentered into the portion 602. Similarly, indicator 607 indicates theoperation which is performed if text is entered into the portion 603 ofthe text input field 601. In an alternative embodiment, the indicators607 and 609 may be displayed within their corresponding portions of thetext input field 601. In this alternative embodiment, the indicator 607is displayed in portion 603 and the indicator 609 is in portion 602.

FIG. 7 shows an alternative embodiment of a text entry field or textinput field. In particular, FIG. 7 shows an exemplary graphical userinterface of a text input field 701 which includes a horizontalseparator 707 which separates the text entry or input field 701 intoportions 703 and 705. The user may select portion 703 by placing thecursor within the portion and by signaling to the computer that theportion has been selected (e.g. “clicking” within the portion 703 bypressing a button, such as a mouse button, while the cursor is withinthe portion 703). The selection of portion 703 will cause the text inputfield 701 to select the “enter RSS search” operation mode, whileselection of the portion 705 will cause the text input field 701 toenter the “enter web search” mode as shown by indicator 711.

FIG. 8 shows an alternative embodiment of a text entry field which usescolors or other visual indicators to represent the different portions toa user. In particular, the graphical user interface shown in FIG. 8includes a text entry or input field 801 which includes a separator 807which separates a left portion which may be a first color from a rightportion which may be a second color. The colors may may include grayscale (black and white only) renditions or may include other visualindicators of the different portions which represent differentoperations which will be selected from within the same text entry field.

As noted above, selecting different portions of the text input fieldcauses the selection of different operations, and the number ofdifferent operations which are selectable within the text input fieldmay be 2, 3, 4 or more operations. This selection may be done bypositioning a cursor at a particular location within the text input sothat the graphical location (e.g. an x, y screen position) within thetext input field will determine the selected operation. Also as notedabove, these different operations may involve searching in differentlocations or performing different types of searching. In otherembodiments, the different operations may involve operations which donot include searching such as printing or saving information or theoperations may include search type of operations and non-search type ofoperations.

It will be appreciated that, in at least certain embodiments describedherein, a text input field (e.g. text input field 403) has two modeswhich usually exist at two different, non-overlapping times. In a firstmode of the text input field, the field is designed to receive a cursorinput which selects an operation from a set of operations (e.g. two ormore possible operations) based on a location within, or associatedwith, the text input field and which switches the text input field fromthe first mode to a second mode. In the second mode, the text inputfield has had an operation selected and is typically designed to receivetext input into the entire available space of the text input field. Inthe first mode, the text input field is normally incapable of receivingtext input into the field. The text input field typically has the samedisplayed size in both the first and second modes, although in certainembodiments it may change size in transitioning between the two modes.

FIGS. 9A and 9B show another embodiment in which a text input field canhave different purposes (e.g. by being able to cause the performance oftwo different operations). In the case of the text input field 901 shownin FIG. 9A and the text input field 911 shown in FIG. 9B, the selectionamong different operations is done by selecting one border portion froma set of border portions, rather than a selection of a location withinthe text input field. In FIG. 9A, the text input field 901 is displayedwith two border portions 905 and 907; it will be appreciated that theborder of the text input field 901 could include more than 2 borderportions. Normally, the border portions are adjacent to the text entryportion 903 of the text input field 901, and text cannot be entered intothe border portions, such as border portions 905 and 907. The borderportions are used to select among a set of operations, and thisselection may occur by positioning a cursor over the desired borderportion and by causing a signal to be generated (e.g. pressing a mouse'sbutton) or it may occur in other ways, such as the ways described above.In addition to the border portions, indicators (such as textualindicators 409 and 411 or iconic indicators) may be displayed adjacentto their respective border portions. These These indicators normallyconvey to the user a representation of the meaning of the operationassociated with the corresponding border portion. In the case of thetext input field 911, border portions 915 and 916 are displayed only atopposite ends of the text entry portion 914.

It will be appreciated that the text entry field is typically a fieldinto which ASCII or other text characters may be entered into the field.Typically, the field can accept only a limited number of characters,although this number of characters may be rather large. Characterspreviously entered may scroll in one direction (e.g. to the left) as theuser continues to enter additional characters when the number ofcharacters is too large to be displayable within the screen area of thetext input field.

In the foregoing specification, the invention has been described withreference to specific exemplary embodiments thereof. It will be evidentthat various modifications may be made thereto without departing fromthe broader spirit and scope of the invention as set forth in thefollowing claims. The specification and drawings are, accordingly, to beregarded in an illustrative sense rather than a restrictive sense.

1. A method of presenting a data input interface, the method comprising:displaying a single text input field which, through a first input to thetext input field itself, can select between at least a first operationand a second operation; wherein the text input field includes a firstportion and a second portion; receiving the first input to the singletext input field to determine a selected operation which includes one ofthe first operation or the second operation, wherein the first inputcomprises receiving a user input in either the first portion or thesecond portion of the text input field, wherein the first operation isselected if the user input is positioned in the first portion when theuser input is received and wherein the second operation is selected ifthe user input is positioned in the second portion when the user inputis received, wherein the second operation is different than the firstoperation; receiving a text input in the single text input field, thetext input being displayable in the single text input field andperforming the selected operation on the text input.